In a typical non-volatile memory such as a flash memory, in a case where data is written thereinto, the data is read into a volatile memory serving as a write buffer once, the data is edited on the volatile memory, and the edited data is written into the non-volatile memory after completion of the editing.
Based on the above-described control, the number of times required to write into the non-volatile memory is reduced, the time of writing process is reduced, and the life of the non-volatile memory where a restriction is put on the number of times writing thereinto is prolonged.
However, in the above-described control, all the data in the write buffer is written into the non-volatile memory at a time point when a series of processing operations finishes. Therefore, if a long series of processing operations is performed, the number of times writing into the non-volatile memory is increased.
Furthermore, data required to be immediately written in the middle of the series of processing operations is not written until the completion of the series of processing operations, and reflecting an editing result in the non-volatile memory is delayed.